--
-- PostgreSQL database dump
--

-- Dumped from database version 9.0.4
-- Dumped by pg_dump version 9.0.4
-- Started on 2011-06-17 22:58:38 COT

SET statement_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = off;
SET check_function_bodies = false;
SET client_min_messages = warning;
SET escape_string_warning = off;

--
-- TOC entry 341 (class 2612 OID 11574)
-- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: -
--

CREATE OR REPLACE PROCEDURAL LANGUAGE plpgsql;


SET search_path = public, pg_catalog;

--
-- TOC entry 18 (class 1255 OID 43140)
-- Dependencies: 5 341
-- Name: insertar_proyecto_en_calificacion(); Type: FUNCTION; Schema: public; Owner: -
--

CREATE FUNCTION insertar_proyecto_en_calificacion() RETURNS trigger
    LANGUAGE plpgsql
    AS $$

	DECLARE
	
	BEGIN
	
	 	 INSERT INTO calificacion_promedio_proyecto (codigo_proyecto,calificacion_total,documentacion_completa,objetivos_compania,presupuesto_objetivos_proyecto
					,duracion_adecuada,rentabilidad_objetivos_compania,viable_financieramente,plan_de_riesgos
					,cronograma_adecuado,viable_tecnicamente,se_recomienda,observaciones,evaluadores_asignados,evaluadores_X_calificar)
					VALUES(new.codigo,0,0,0,0,0,0,0,0,0,0,0,'#',0,0);--el # es para saber cuado inicia y termina las observaciones de un evaluador
		
	  RETURN NULL;
	      
  	END;
	
	$$;


--
-- TOC entry 19 (class 1255 OID 43142)
-- Dependencies: 5 341
-- Name: no_borrar_proyecto(); Type: FUNCTION; Schema: public; Owner: -
--

CREATE FUNCTION no_borrar_proyecto() RETURNS trigger
    LANGUAGE plpgsql
    AS $$

	DECLARE
	
	BEGIN
		  
	  RAISE EXCEPTION 'un proyecto ya registrado no se puede eliminar';
       RETURN NULL;
    
   
	END;
	
	$$;


--
-- TOC entry 20 (class 1255 OID 43144)
-- Dependencies: 5 341
-- Name: promedio_proyecto(); Type: FUNCTION; Schema: public; Owner: -
--

CREATE FUNCTION promedio_proyecto() RETURNS trigger
    LANGUAGE plpgsql
    AS $$
 
DECLARE
  asignados INTEGER;
  xcalificar INTEGER;
  row_data RECORD;
  row_data2 RECORD;
  suma NUMERIC(10,2);
    
  BEGIN
   
	  IF (TG_OP = 'INSERT' ) THEN
	   -- cuenta cuandos evaluadores hay asignados y cuantos hay por evaluar
		  	asignados :=  (SELECT COUNT(evaluado) FROM evaluacion_proyecto WHERE codigo_proyecto=NEW.codigo_proyecto);
			xcalificar :=  (SELECT COUNT(evaluado) FROM evaluacion_proyecto WHERE evaluado='no' AND codigo_proyecto=NEW.codigo_proyecto);
		-- actualiza los valores en la tabla calificacion_promedio_proyecto	
		   	UPDATE calificacion_promedio_proyecto SET evaluadores_asignados=asignados,evaluadores_X_calificar=xcalificar WHERE codigo_proyecto=NEW.codigo_proyecto;
		
	  ELSIF (TG_OP = 'UPDATE' ) THEN
	  -- cuenta cuandos evaluadores hay asignados y cuantos hay por evaluar
		   	asignados :=  (SELECT COUNT(evaluado) FROM evaluacion_proyecto WHERE codigo_proyecto=NEW.codigo_proyecto);
			xcalificar :=  (SELECT COUNT(evaluado) FROM evaluacion_proyecto WHERE evaluado='no' AND codigo_proyecto=NEW.codigo_proyecto);
	-- actualiza los valores en la tabla calificacion_promedio_proyecto		
			UPDATE calificacion_promedio_proyecto SET evaluadores_X_calificar=xcalificar WHERE codigo_proyecto=NEW.codigo_proyecto;
			
		--- se suma todos los items y se dividen por el numero de evaluadores asignados, asi cada iten ya tendria su valor promediado esto se guarda en una variable temporal de tipo RECORD
		----esto es para un solo pryecto, 
	     SELECT INTO row_data  codigo_proyecto, SUM(documentacion_completa)/asignados AS c1,SUM(objetivos_compania)/asignados AS c2,SUM(presupuesto_objetivos_proyecto)/asignados AS c3,SUM(duracion_adecuada)/asignados AS c4
		,SUM(rentabilidad_objetivos_compania)/asignados AS c5,SUM(viable_financieramente)/asignados AS c6,SUM(plan_de_riesgos)/asignados AS c7,SUM(cronograma_adecuado)/asignados AS c8
		,SUM(viable_tecnicamente)/asignados AS c9 ,SUM(se_recomienda)/asignados AS c10
		 FROM evaluacion_proyecto
         WHERE codigo_proyecto =NEW.codigo_proyecto
		 GROUP BY codigo_proyecto;
		
		 ---seleciono las observaciones que tiene el proyecto para concatenarlas depues con la observacion del nuevo evaluador, la consulta es guarada en una variable temporal de tipo RECORD
		 SELECT INTO row_data2 observaciones FROM calificacion_promedio_proyecto  WHERE codigo_proyecto =NEW.codigo_proyecto;
		 
		 ---actualisa la tabla calificacion_promedio_proyecto con los nuevos valores
		 UPDATE calificacion_promedio_proyecto SET documentacion_completa=row_data.c1,objetivos_compania=row_data.c2,presupuesto_objetivos_proyecto=row_data.c3
	                               ,duracion_adecuada=row_data.c4,rentabilidad_objetivos_compania=row_data.c5,viable_financieramente=row_data.c6,plan_de_riesgos=row_data.c7
								   ,cronograma_adecuado=row_data.c8,viable_tecnicamente=row_data.c9,se_recomienda=row_data.c10,observaciones=row_data2.observaciones||new.observaciones 
								   WHERE codigo_proyecto =NEW.codigo_proyecto;
								   
		-- evalua si los evaluadores que falta por calificar es 0, suma todos los valores de los items lo cuales ya estan promediados y guarda el valor 
		--en el campo calificacion_total			
		 IF(xcalificar=0)THEN
		 
		 suma=(row_data.c1+row_data.c2+row_data.c3+row_data.c4+row_data.c5+row_data.c6+row_data.c7+row_data.c8+row_data.c9+row_data.c10);
		 UPDATE calificacion_promedio_proyecto SET calificacion_total=suma  WHERE codigo_proyecto =NEW.codigo_proyecto;
		
         END IF; 		
		 END IF;
       
       RETURN NULL;

END;
$$;


SET default_tablespace = '';

SET default_with_oids = false;

--
-- TOC entry 1533 (class 1259 OID 16386)
-- Dependencies: 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 5
-- Name: calificacion_promedio_proyecto; Type: TABLE; Schema: public; Owner: -; Tablespace: 
--

CREATE TABLE calificacion_promedio_proyecto (
    codigo_proyecto integer NOT NULL,
    calificacion_total numeric(10,2) DEFAULT 0 NOT NULL,
    documentacion_completa numeric(10,2) DEFAULT 0 NOT NULL,
    objetivos_compania numeric(10,2) DEFAULT 0 NOT NULL,
    presupuesto_objetivos_proyecto numeric(10,2) DEFAULT 0 NOT NULL,
    duracion_adecuada numeric(10,2) DEFAULT 0 NOT NULL,
    rentabilidad_objetivos_compania numeric(10,2) DEFAULT 0 NOT NULL,
    viable_financieramente numeric(10,2) DEFAULT 0 NOT NULL,
    plan_de_riesgos numeric(10,2) DEFAULT 0 NOT NULL,
    cronograma_adecuado numeric(10,2) DEFAULT 0 NOT NULL,
    viable_tecnicamente numeric(10,2) DEFAULT 0 NOT NULL,
    se_recomienda numeric(10,2) DEFAULT 0 NOT NULL,
    observaciones character varying DEFAULT '#'::character varying NOT NULL,
    evaluadores_asignados integer DEFAULT 0 NOT NULL,
    evaluadores_x_calificar integer DEFAULT 0 NOT NULL
);


--
-- TOC entry 1537 (class 1259 OID 16429)
-- Dependencies: 5
-- Name: departamento; Type: TABLE; Schema: public; Owner: -; Tablespace: 
--

CREATE TABLE departamento (
    codigo integer NOT NULL,
    nombre character varying(50) NOT NULL,
    descripcion character varying NOT NULL
);


--
-- TOC entry 1536 (class 1259 OID 16427)
-- Dependencies: 1537 5
-- Name: departamento_codigo_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE departamento_codigo_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- TOC entry 1933 (class 0 OID 0)
-- Dependencies: 1536
-- Name: departamento_codigo_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE departamento_codigo_seq OWNED BY departamento.codigo;


--
-- TOC entry 1934 (class 0 OID 0)
-- Dependencies: 1536
-- Name: departamento_codigo_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('departamento_codigo_seq', 7, true);


--
-- TOC entry 1538 (class 1259 OID 16436)
-- Dependencies: 5
-- Name: empleado; Type: TABLE; Schema: public; Owner: -; Tablespace: 
--

CREATE TABLE empleado (
    codigo integer NOT NULL,
    codigo_departamento integer NOT NULL,
    cargo character varying(50) NOT NULL
);


--
-- TOC entry 1540 (class 1259 OID 16441)
-- Dependencies: 5
-- Name: estado_proyecto; Type: TABLE; Schema: public; Owner: -; Tablespace: 
--

CREATE TABLE estado_proyecto (
    codigo integer NOT NULL,
    nombre character varying(50)
);


--
-- TOC entry 1539 (class 1259 OID 16439)
-- Dependencies: 1540 5
-- Name: estado_proyecto_codigo_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE estado_proyecto_codigo_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- TOC entry 1935 (class 0 OID 0)
-- Dependencies: 1539
-- Name: estado_proyecto_codigo_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE estado_proyecto_codigo_seq OWNED BY estado_proyecto.codigo;


--
-- TOC entry 1936 (class 0 OID 0)
-- Dependencies: 1539
-- Name: estado_proyecto_codigo_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('estado_proyecto_codigo_seq', 7, true);


--
-- TOC entry 1535 (class 1259 OID 16408)
-- Dependencies: 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 5
-- Name: evaluacion_proyecto; Type: TABLE; Schema: public; Owner: -; Tablespace: 
--

CREATE TABLE evaluacion_proyecto (
    codigo_interno integer NOT NULL,
    codigo_proyecto integer NOT NULL,
    codigo_evaluador integer NOT NULL,
    documentacion_completa numeric(10,2) DEFAULT 0 NOT NULL,
    objetivos_compania numeric(10,2) DEFAULT 0 NOT NULL,
    presupuesto_objetivos_proyecto numeric(10,2) DEFAULT 0 NOT NULL,
    duracion_adecuada numeric(10,2) DEFAULT 0 NOT NULL,
    rentabilidad_objetivos_compania numeric(10,2) DEFAULT 0 NOT NULL,
    viable_financieramente numeric(10,2) DEFAULT 0 NOT NULL,
    plan_de_riesgos numeric(10,2) DEFAULT 0 NOT NULL,
    cronograma_adecuado numeric(10,2) DEFAULT 0 NOT NULL,
    viable_tecnicamente numeric(10,2) DEFAULT 0 NOT NULL,
    se_recomienda numeric(10,2) DEFAULT 0 NOT NULL,
    observaciones character varying DEFAULT '#'::character varying NOT NULL,
    evaluado boolean DEFAULT false NOT NULL,
    tiempo_limite date NOT NULL
);


--
-- TOC entry 1534 (class 1259 OID 16406)
-- Dependencies: 1535 5
-- Name: evaluacion_proyecto_codigo_interno_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE evaluacion_proyecto_codigo_interno_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- TOC entry 1937 (class 0 OID 0)
-- Dependencies: 1534
-- Name: evaluacion_proyecto_codigo_interno_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE evaluacion_proyecto_codigo_interno_seq OWNED BY evaluacion_proyecto.codigo_interno;


--
-- TOC entry 1938 (class 0 OID 0)
-- Dependencies: 1534
-- Name: evaluacion_proyecto_codigo_interno_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('evaluacion_proyecto_codigo_interno_seq', 12, true);


--
-- TOC entry 1541 (class 1259 OID 16445)
-- Dependencies: 5
-- Name: evaluador; Type: TABLE; Schema: public; Owner: -; Tablespace: 
--

CREATE TABLE evaluador (
    codigo integer NOT NULL,
    codigo_nivel_estudios integer NOT NULL,
    titulo_estudios character varying(150) NOT NULL,
    otros_estudios character varying NOT NULL,
    experiencia_annios integer NOT NULL
);


--
-- TOC entry 1543 (class 1259 OID 16453)
-- Dependencies: 5
-- Name: nivel_estudios; Type: TABLE; Schema: public; Owner: -; Tablespace: 
--

CREATE TABLE nivel_estudios (
    codigo integer NOT NULL,
    nivel character varying(50) NOT NULL
);


--
-- TOC entry 1542 (class 1259 OID 16451)
-- Dependencies: 5 1543
-- Name: nivel_estudios_codigo_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE nivel_estudios_codigo_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- TOC entry 1939 (class 0 OID 0)
-- Dependencies: 1542
-- Name: nivel_estudios_codigo_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE nivel_estudios_codigo_seq OWNED BY nivel_estudios.codigo;


--
-- TOC entry 1940 (class 0 OID 0)
-- Dependencies: 1542
-- Name: nivel_estudios_codigo_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('nivel_estudios_codigo_seq', 8, true);


--
-- TOC entry 1545 (class 1259 OID 16459)
-- Dependencies: 5
-- Name: perfil; Type: TABLE; Schema: public; Owner: -; Tablespace: 
--

CREATE TABLE perfil (
    codigo integer NOT NULL,
    nombre character varying(50),
    descripcion character varying
);


--
-- TOC entry 1544 (class 1259 OID 16457)
-- Dependencies: 1545 5
-- Name: perfil_codigo_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE perfil_codigo_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- TOC entry 1941 (class 0 OID 0)
-- Dependencies: 1544
-- Name: perfil_codigo_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE perfil_codigo_seq OWNED BY perfil.codigo;


--
-- TOC entry 1942 (class 0 OID 0)
-- Dependencies: 1544
-- Name: perfil_codigo_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('perfil_codigo_seq', 6, true);


--
-- TOC entry 1547 (class 1259 OID 16468)
-- Dependencies: 5
-- Name: persona; Type: TABLE; Schema: public; Owner: -; Tablespace: 
--

CREATE TABLE persona (
    codigo_interno integer NOT NULL,
    cedula integer NOT NULL,
    login character varying(15) NOT NULL,
    codigo_perfil integer NOT NULL,
    contrasennia character varying(50) NOT NULL,
    nombres character varying(50) NOT NULL,
    apellidos character varying(50) NOT NULL,
    direccion character varying(50),
    telefono character varying(50),
    sexo character(1),
    movil character varying(50),
    correo character varying(50) NOT NULL
);


--
-- TOC entry 1546 (class 1259 OID 16466)
-- Dependencies: 5 1547
-- Name: persona_codigo_interno_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE persona_codigo_interno_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- TOC entry 1943 (class 0 OID 0)
-- Dependencies: 1546
-- Name: persona_codigo_interno_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE persona_codigo_interno_seq OWNED BY persona.codigo_interno;


--
-- TOC entry 1944 (class 0 OID 0)
-- Dependencies: 1546
-- Name: persona_codigo_interno_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('persona_codigo_interno_seq', 25, true);


--
-- TOC entry 1549 (class 1259 OID 16474)
-- Dependencies: 5
-- Name: proyecto; Type: TABLE; Schema: public; Owner: -; Tablespace: 
--

CREATE TABLE proyecto (
    codigo integer NOT NULL,
    nombre character varying(50) NOT NULL,
    descripion character varying NOT NULL,
    departamento integer NOT NULL,
    presupuesto integer NOT NULL,
    fecha_registro date NOT NULL,
    fecha_actualizacion date,
    fecha_inicio date NOT NULL,
    fecha_finalizacion date NOT NULL,
    rentabilidad integer NOT NULL,
    utilidades integer NOT NULL,
    responsable integer NOT NULL,
    codigo_estado integer NOT NULL,
    urlproyecto character varying(100) NOT NULL
);


--
-- TOC entry 1548 (class 1259 OID 16472)
-- Dependencies: 5 1549
-- Name: proyecto_codigo_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE proyecto_codigo_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;


--
-- TOC entry 1945 (class 0 OID 0)
-- Dependencies: 1548
-- Name: proyecto_codigo_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE proyecto_codigo_seq OWNED BY proyecto.codigo;


--
-- TOC entry 1946 (class 0 OID 0)
-- Dependencies: 1548
-- Name: proyecto_codigo_seq; Type: SEQUENCE SET; Schema: public; Owner: -
--

SELECT pg_catalog.setval('proyecto_codigo_seq', 12, true);


--
-- TOC entry 1854 (class 2604 OID 16432)
-- Dependencies: 1537 1536 1537
-- Name: codigo; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE departamento ALTER COLUMN codigo SET DEFAULT nextval('departamento_codigo_seq'::regclass);


--
-- TOC entry 1855 (class 2604 OID 16444)
-- Dependencies: 1539 1540 1540
-- Name: codigo; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE estado_proyecto ALTER COLUMN codigo SET DEFAULT nextval('estado_proyecto_codigo_seq'::regclass);


--
-- TOC entry 1841 (class 2604 OID 16411)
-- Dependencies: 1534 1535 1535
-- Name: codigo_interno; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE evaluacion_proyecto ALTER COLUMN codigo_interno SET DEFAULT nextval('evaluacion_proyecto_codigo_interno_seq'::regclass);


--
-- TOC entry 1856 (class 2604 OID 16456)
-- Dependencies: 1542 1543 1543
-- Name: codigo; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE nivel_estudios ALTER COLUMN codigo SET DEFAULT nextval('nivel_estudios_codigo_seq'::regclass);


--
-- TOC entry 1857 (class 2604 OID 16462)
-- Dependencies: 1544 1545 1545
-- Name: codigo; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE perfil ALTER COLUMN codigo SET DEFAULT nextval('perfil_codigo_seq'::regclass);


--
-- TOC entry 1858 (class 2604 OID 16471)
-- Dependencies: 1546 1547 1547
-- Name: codigo_interno; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE persona ALTER COLUMN codigo_interno SET DEFAULT nextval('persona_codigo_interno_seq'::regclass);


--
-- TOC entry 1859 (class 2604 OID 16477)
-- Dependencies: 1549 1548 1549
-- Name: codigo; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE proyecto ALTER COLUMN codigo SET DEFAULT nextval('proyecto_codigo_seq'::regclass);


--
-- TOC entry 1918 (class 0 OID 16386)
-- Dependencies: 1533
-- Data for Name: calificacion_promedio_proyecto; Type: TABLE DATA; Schema: public; Owner: -
--

INSERT INTO calificacion_promedio_proyecto VALUES (12, 3.50, 3.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, '#####', 1, 0);


--
-- TOC entry 1920 (class 0 OID 16429)
-- Dependencies: 1537
-- Data for Name: departamento; Type: TABLE DATA; Schema: public; Owner: -
--

INSERT INTO departamento VALUES (2, 'VOLAR', 'banderas');
INSERT INTO departamento VALUES (3, 'sistemas', 'locos1');
INSERT INTO departamento VALUES (1, 'Restaurante1', 'rica comida');


--
-- TOC entry 1921 (class 0 OID 16436)
-- Dependencies: 1538
-- Data for Name: empleado; Type: TABLE DATA; Schema: public; Owner: -
--

INSERT INTO empleado VALUES (21, 1, '43');
INSERT INTO empleado VALUES (25, 2, '32');


--
-- TOC entry 1922 (class 0 OID 16441)
-- Dependencies: 1540
-- Data for Name: estado_proyecto; Type: TABLE DATA; Schema: public; Owner: -
--

INSERT INTO estado_proyecto VALUES (1, 'registrado');
INSERT INTO estado_proyecto VALUES (2, 'en evaluacion');
INSERT INTO estado_proyecto VALUES (3, 'aprobado');
INSERT INTO estado_proyecto VALUES (4, 'rechazado');
INSERT INTO estado_proyecto VALUES (5, 'finalizacion');


--
-- TOC entry 1919 (class 0 OID 16408)
-- Dependencies: 1535
-- Data for Name: evaluacion_proyecto; Type: TABLE DATA; Schema: public; Owner: -
--

INSERT INTO evaluacion_proyecto VALUES (7, 11, 23, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, '#', false, '2011-06-18');
INSERT INTO evaluacion_proyecto VALUES (12, 12, 24, 3.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, '#', true, '2011-06-17');


--
-- TOC entry 1923 (class 0 OID 16445)
-- Dependencies: 1541
-- Data for Name: evaluador; Type: TABLE DATA; Schema: public; Owner: -
--

INSERT INTO evaluador VALUES (23, 3, '23', '23', 23);
INSERT INTO evaluador VALUES (24, 2, '34', '34', 34);


--
-- TOC entry 1924 (class 0 OID 16453)
-- Dependencies: 1543
-- Data for Name: nivel_estudios; Type: TABLE DATA; Schema: public; Owner: -
--

INSERT INTO nivel_estudios VALUES (1, 'tecnico');
INSERT INTO nivel_estudios VALUES (2, 'tecnologo');
INSERT INTO nivel_estudios VALUES (3, 'pregrado');
INSERT INTO nivel_estudios VALUES (4, 'postgrados');
INSERT INTO nivel_estudios VALUES (5, 'especializacion');
INSERT INTO nivel_estudios VALUES (6, 'maestria');


--
-- TOC entry 1925 (class 0 OID 16459)
-- Dependencies: 1545
-- Data for Name: perfil; Type: TABLE DATA; Schema: public; Owner: -
--

INSERT INTO perfil VALUES (3, 'empleado', 'Empleado que puede registrar proyectos');
INSERT INTO perfil VALUES (4, 'evaluador', 'Evalua los proyectos a su cargo');
INSERT INTO perfil VALUES (2, 'director departamneto', 'Encargado prinipal de la administracion de cada departamento de la compa?ia');
INSERT INTO perfil VALUES (1, 'administrador', 'Administrador de toda la aplicacion');
INSERT INTO perfil VALUES (5, 'jefe I+D', 'Jefe del departamento de investigación y desarrollo');


--
-- TOC entry 1926 (class 0 OID 16468)
-- Dependencies: 1547
-- Data for Name: persona; Type: TABLE DATA; Schema: public; Owner: -
--

INSERT INTO persona VALUES (2, 1143924353, '0749553-2711', 1, '2711', 'erika', 'valencia', 'carrera busquela calle encuentrela', '256-98-44', 'F', '265-356-54-54', 'erika@gmail.com');
INSERT INTO persona VALUES (23, 23, '23', 4, '23', '23', '23', '23', '23', 'F', '23', '23');
INSERT INTO persona VALUES (24, 34, '34', 4, '34', '34', '34', '34', '34', 'M', '34', '34');
INSERT INTO persona VALUES (21, 43, '43', 3, '43', '43', '43', '43', '43', 'M', '43', '43');
INSERT INTO persona VALUES (25, 32, '32', 5, '32', '32', '32', '32', '32', 'M', '32', '32');


--
-- TOC entry 1927 (class 0 OID 16474)
-- Dependencies: 1549
-- Data for Name: proyecto; Type: TABLE DATA; Schema: public; Owner: -
--

INSERT INTO proyecto VALUES (11, '43', '43', 1, 43, '2011-04-30', '2011-04-30', '2011-04-30', '2011-04-30', 43, 43, 21, 2, '///');
INSERT INTO proyecto VALUES (12, '55', '55', 2, 55, '2011-05-03', '2011-05-03', '2011-05-03', '2011-05-03', 55, 55, 21, 2, 'hola.txt.zip');


--
-- TOC entry 1861 (class 2606 OID 16482)
-- Dependencies: 1533 1533
-- Name: pk_calificacion_promedio_proyecto; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
--

ALTER TABLE ONLY calificacion_promedio_proyecto
    ADD CONSTRAINT pk_calificacion_promedio_proyecto PRIMARY KEY (codigo_proyecto);


--
-- TOC entry 1863 (class 2606 OID 16484)
-- Dependencies: 1535 1535
-- Name: pk_calificacion_proyecto; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
--

ALTER TABLE ONLY evaluacion_proyecto
    ADD CONSTRAINT pk_calificacion_proyecto PRIMARY KEY (codigo_interno);


--
-- TOC entry 1867 (class 2606 OID 16486)
-- Dependencies: 1537 1537
-- Name: pk_departamento; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
--

ALTER TABLE ONLY departamento
    ADD CONSTRAINT pk_departamento PRIMARY KEY (codigo);


--
-- TOC entry 1869 (class 2606 OID 16488)
-- Dependencies: 1538 1538
-- Name: pk_empleado; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
--

ALTER TABLE ONLY empleado
    ADD CONSTRAINT pk_empleado PRIMARY KEY (codigo);


--
-- TOC entry 1871 (class 2606 OID 16490)
-- Dependencies: 1540 1540
-- Name: pk_estado_proyecto; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
--

ALTER TABLE ONLY estado_proyecto
    ADD CONSTRAINT pk_estado_proyecto PRIMARY KEY (codigo);


--
-- TOC entry 1873 (class 2606 OID 16492)
-- Dependencies: 1541 1541
-- Name: pk_evaluador; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
--

ALTER TABLE ONLY evaluador
    ADD CONSTRAINT pk_evaluador PRIMARY KEY (codigo);


--
-- TOC entry 1875 (class 2606 OID 16494)
-- Dependencies: 1543 1543
-- Name: pk_nivel_estudios; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
--

ALTER TABLE ONLY nivel_estudios
    ADD CONSTRAINT pk_nivel_estudios PRIMARY KEY (codigo);


--
-- TOC entry 1879 (class 2606 OID 16496)
-- Dependencies: 1545 1545
-- Name: pk_perfil; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
--

ALTER TABLE ONLY perfil
    ADD CONSTRAINT pk_perfil PRIMARY KEY (codigo);


--
-- TOC entry 1883 (class 2606 OID 16498)
-- Dependencies: 1547 1547
-- Name: pk_persona; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
--

ALTER TABLE ONLY persona
    ADD CONSTRAINT pk_persona PRIMARY KEY (codigo_interno);


--
-- TOC entry 1889 (class 2606 OID 16500)
-- Dependencies: 1549 1549
-- Name: pk_proyecto; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
--

ALTER TABLE ONLY proyecto
    ADD CONSTRAINT pk_proyecto PRIMARY KEY (codigo);


--
-- TOC entry 1865 (class 2606 OID 16514)
-- Dependencies: 1535 1535 1535
-- Name: uq_calificaion_proyecto; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
--

ALTER TABLE ONLY evaluacion_proyecto
    ADD CONSTRAINT uq_calificaion_proyecto UNIQUE (codigo_proyecto, codigo_evaluador);


--
-- TOC entry 1877 (class 2606 OID 16502)
-- Dependencies: 1543 1543
-- Name: uq_nivel_estudios; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
--

ALTER TABLE ONLY nivel_estudios
    ADD CONSTRAINT uq_nivel_estudios UNIQUE (nivel);


--
-- TOC entry 1881 (class 2606 OID 16504)
-- Dependencies: 1545 1545
-- Name: uq_perfil_nombre; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
--

ALTER TABLE ONLY perfil
    ADD CONSTRAINT uq_perfil_nombre UNIQUE (nombre);


--
-- TOC entry 1885 (class 2606 OID 16506)
-- Dependencies: 1547 1547
-- Name: uq_persona_cedula; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
--

ALTER TABLE ONLY persona
    ADD CONSTRAINT uq_persona_cedula UNIQUE (cedula);


--
-- TOC entry 1887 (class 2606 OID 16508)
-- Dependencies: 1547 1547
-- Name: uq_persona_login; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
--

ALTER TABLE ONLY persona
    ADD CONSTRAINT uq_persona_login UNIQUE (login);


--
-- TOC entry 1891 (class 2606 OID 16510)
-- Dependencies: 1549 1549
-- Name: uq_proyecto_nombre; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
--

ALTER TABLE ONLY proyecto
    ADD CONSTRAINT uq_proyecto_nombre UNIQUE (nombre);


--
-- TOC entry 1893 (class 2606 OID 16512)
-- Dependencies: 1549 1549
-- Name: uq_proyecto_urlproyecto; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
--

ALTER TABLE ONLY proyecto
    ADD CONSTRAINT uq_proyecto_urlproyecto UNIQUE (urlproyecto);


--
-- TOC entry 1916 (class 2620 OID 43141)
-- Dependencies: 1549 18
-- Name: insertar_proyecto_en_calificacion; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER insertar_proyecto_en_calificacion AFTER INSERT ON proyecto FOR EACH ROW EXECUTE PROCEDURE insertar_proyecto_en_calificacion();


--
-- TOC entry 1917 (class 2620 OID 43143)
-- Dependencies: 1549 19
-- Name: no_borrar_proyecto; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER no_borrar_proyecto BEFORE DELETE ON proyecto FOR EACH STATEMENT EXECUTE PROCEDURE no_borrar_proyecto();


--
-- TOC entry 1915 (class 2620 OID 43145)
-- Dependencies: 20 1535
-- Name: promedio_proyecto; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER promedio_proyecto AFTER INSERT OR UPDATE ON evaluacion_proyecto FOR EACH ROW EXECUTE PROCEDURE promedio_proyecto();


--
-- TOC entry 1895 (class 2606 OID 16616)
-- Dependencies: 1888 1533 1549
-- Name: fk_calificacion_promedio_proyecto_codigo_proyecto; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY calificacion_promedio_proyecto
    ADD CONSTRAINT fk_calificacion_promedio_proyecto_codigo_proyecto FOREIGN KEY (codigo_proyecto) REFERENCES proyecto(codigo);


--
-- TOC entry 1894 (class 2606 OID 16515)
-- Dependencies: 1533 1549 1888
-- Name: fk_calificacion_promedio_proyecto_proyecto; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY calificacion_promedio_proyecto
    ADD CONSTRAINT fk_calificacion_promedio_proyecto_proyecto FOREIGN KEY (codigo_proyecto) REFERENCES proyecto(codigo);


--
-- TOC entry 1896 (class 2606 OID 16520)
-- Dependencies: 1541 1535 1872
-- Name: fk_calificacion_proyecto_evaluador; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY evaluacion_proyecto
    ADD CONSTRAINT fk_calificacion_proyecto_evaluador FOREIGN KEY (codigo_evaluador) REFERENCES evaluador(codigo) ON UPDATE CASCADE;


--
-- TOC entry 1897 (class 2606 OID 16525)
-- Dependencies: 1888 1549 1535
-- Name: fk_calificacion_proyecto_proyecto; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY evaluacion_proyecto
    ADD CONSTRAINT fk_calificacion_proyecto_proyecto FOREIGN KEY (codigo_proyecto) REFERENCES proyecto(codigo);


--
-- TOC entry 1902 (class 2606 OID 16606)
-- Dependencies: 1538 1547 1882
-- Name: fk_empleado_codigo; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY empleado
    ADD CONSTRAINT fk_empleado_codigo FOREIGN KEY (codigo) REFERENCES persona(codigo_interno);


--
-- TOC entry 1903 (class 2606 OID 16611)
-- Dependencies: 1538 1866 1537
-- Name: fk_empleado_codigo_departamento; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY empleado
    ADD CONSTRAINT fk_empleado_codigo_departamento FOREIGN KEY (codigo_departamento) REFERENCES departamento(codigo);


--
-- TOC entry 1900 (class 2606 OID 16530)
-- Dependencies: 1866 1537 1538
-- Name: fk_empleado_departamento; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY empleado
    ADD CONSTRAINT fk_empleado_departamento FOREIGN KEY (codigo_departamento) REFERENCES departamento(codigo) ON UPDATE CASCADE;


--
-- TOC entry 1901 (class 2606 OID 16535)
-- Dependencies: 1547 1538 1882
-- Name: fk_empleado_persona; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY empleado
    ADD CONSTRAINT fk_empleado_persona FOREIGN KEY (codigo) REFERENCES persona(codigo_interno) ON UPDATE CASCADE ON DELETE CASCADE;


--
-- TOC entry 1899 (class 2606 OID 16586)
-- Dependencies: 1535 1872 1541
-- Name: fk_evaluacion_proyecto_codigo_evaluador; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY evaluacion_proyecto
    ADD CONSTRAINT fk_evaluacion_proyecto_codigo_evaluador FOREIGN KEY (codigo_evaluador) REFERENCES evaluador(codigo);


--
-- TOC entry 1898 (class 2606 OID 16581)
-- Dependencies: 1549 1888 1535
-- Name: fk_evaluacion_proyecto_codigo_proyecto; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY evaluacion_proyecto
    ADD CONSTRAINT fk_evaluacion_proyecto_codigo_proyecto FOREIGN KEY (codigo_proyecto) REFERENCES proyecto(codigo);


--
-- TOC entry 1906 (class 2606 OID 16596)
-- Dependencies: 1547 1541 1882
-- Name: fk_evaluador_codigo; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY evaluador
    ADD CONSTRAINT fk_evaluador_codigo FOREIGN KEY (codigo) REFERENCES persona(codigo_interno);


--
-- TOC entry 1907 (class 2606 OID 16601)
-- Dependencies: 1543 1541 1874
-- Name: fk_evaluador_codigo_nivel_estudios; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY evaluador
    ADD CONSTRAINT fk_evaluador_codigo_nivel_estudios FOREIGN KEY (codigo_nivel_estudios) REFERENCES nivel_estudios(codigo);


--
-- TOC entry 1904 (class 2606 OID 16540)
-- Dependencies: 1541 1543 1874
-- Name: fk_evaluador_nivel_estudios; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY evaluador
    ADD CONSTRAINT fk_evaluador_nivel_estudios FOREIGN KEY (codigo_nivel_estudios) REFERENCES nivel_estudios(codigo) ON UPDATE CASCADE;


--
-- TOC entry 1905 (class 2606 OID 16545)
-- Dependencies: 1547 1541 1882
-- Name: fk_evaluador_persona; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY evaluador
    ADD CONSTRAINT fk_evaluador_persona FOREIGN KEY (codigo) REFERENCES persona(codigo_interno) ON UPDATE CASCADE ON DELETE CASCADE;


--
-- TOC entry 1909 (class 2606 OID 16591)
-- Dependencies: 1878 1547 1545
-- Name: fk_persona_codigo_perfil; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY persona
    ADD CONSTRAINT fk_persona_codigo_perfil FOREIGN KEY (codigo_perfil) REFERENCES perfil(codigo);


--
-- TOC entry 1908 (class 2606 OID 16550)
-- Dependencies: 1878 1547 1545
-- Name: fk_persona_perfil; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY persona
    ADD CONSTRAINT fk_persona_perfil FOREIGN KEY (codigo_perfil) REFERENCES perfil(codigo) ON UPDATE CASCADE;


--
-- TOC entry 1913 (class 2606 OID 16576)
-- Dependencies: 1549 1870 1540
-- Name: fk_proyecto_codigo_estado; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY proyecto
    ADD CONSTRAINT fk_proyecto_codigo_estado FOREIGN KEY (codigo_estado) REFERENCES estado_proyecto(codigo);


--
-- TOC entry 1912 (class 2606 OID 16565)
-- Dependencies: 1537 1866 1549
-- Name: fk_proyecto_departamento; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY proyecto
    ADD CONSTRAINT fk_proyecto_departamento FOREIGN KEY (departamento) REFERENCES departamento(codigo) ON UPDATE CASCADE;


--
-- TOC entry 1910 (class 2606 OID 16555)
-- Dependencies: 1549 1538 1868
-- Name: fk_proyecto_empleado; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY proyecto
    ADD CONSTRAINT fk_proyecto_empleado FOREIGN KEY (responsable) REFERENCES empleado(codigo) ON UPDATE CASCADE;


--
-- TOC entry 1911 (class 2606 OID 16560)
-- Dependencies: 1549 1870 1540
-- Name: fk_proyecto_estado_proyecto; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY proyecto
    ADD CONSTRAINT fk_proyecto_estado_proyecto FOREIGN KEY (codigo_estado) REFERENCES estado_proyecto(codigo) ON UPDATE CASCADE;


--
-- TOC entry 1914 (class 2606 OID 24903)
-- Dependencies: 1868 1549 1538
-- Name: fk_proyecto_responsable; Type: FK CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY proyecto
    ADD CONSTRAINT fk_proyecto_responsable FOREIGN KEY (responsable) REFERENCES empleado(codigo);


--
-- TOC entry 1932 (class 0 OID 0)
-- Dependencies: 5
-- Name: public; Type: ACL; Schema: -; Owner: -
--

REVOKE ALL ON SCHEMA public FROM PUBLIC;
REVOKE ALL ON SCHEMA public FROM postgres;
GRANT ALL ON SCHEMA public TO postgres;
GRANT ALL ON SCHEMA public TO PUBLIC;


-- Completed on 2011-06-17 22:58:38 COT

--
-- PostgreSQL database dump complete
--

